/**
 * @ClassName Duoyitest3
 * @description:
 * @author: 荣燊
 * @create: 2021-08-24 19:26
 **/
public class Duoyitest3 {
    private static String[] danwei = { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万亿" };
    private static char[] n_array = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' };

    public static String formatInteger(int num) {
        char[] arrays = String.valueOf(num).toCharArray();
        int len = arrays.length;

        StringBuilder sb = new StringBuilder();

        title:

        for (int i = 0; i < len; i++) {
            String m = arrays[i] + "";
            int n = Integer.valueOf(m);

            boolean isZero;
            if (n == 0) {
                isZero = true;
            } else {
                isZero = false;
            }

            String unit = danwei[(len - 1) - i];

            if (isZero) {
                boolean falg = false;

                for(int j=i; j<len; j++){
                    String a = arrays[j] + "";
                    int b = Integer.valueOf(a);
                    if(b!=0){
                        falg=true;
                    }
                }
                if(falg){
                    if ('0' == arrays[i - 1]) {
                        continue;
                    }else {
                        if(((len - 1) - i)%4==0) {
                            sb.append(unit);
                        }
                        sb.append(n_array[n]);
                    }
                }else {
                    if(((len - 1) - i)%4==0){
                        sb.append(unit);
                        break title;
                    }
                }
            } else {
                sb.append(n_array[n]);
                sb.append(unit);
            }
        }

        return sb.toString();
    }
}
